import request from '@/utils/request'

export const cartApi = {
  /**
   * 添加商品到购物车
   * @param {Object} cartItemAddVO - 购物车商品数据 (包含medicineId和quantity)
   * @param {Number} userId - 用户ID
   */
  addToCart(cartItemAddVO, userId) {
    return request({
      url: '/api/cart/add',
      method: 'POST',
      data: cartItemAddVO,
      params: { userId }
    })
  },
  
  /**
   * 获取购物车列表
   * @param {Number} userId - 用户ID
   */
  getCartList(userId) {
    return request({
      url: '/api/cart/list',
      method: 'GET',
      params: { userId }
    })
  },
  
  /**
   * 更新购物车商品数量
   * @param {Number} id - 购物车项ID
   * @param {Number} quantity - 新数量
   * @param {Number} userId - 用户ID
   */
  updateCartItemQuantity(id, quantity, userId) {
    return request({
      url: `/api/cart/update/${id}`,
      method: 'PUT',
      params: { 
        quantity, 
        userId 
      }
    })
  },
  
  /**
   * 删除购物车商品
   * @param {Number} id - 购物车项ID
   * @param {Number} userId - 用户ID
   */
  deleteCartItem(id, userId) {
    return request({
      url: `/api/cart/delete/${id}`,
      method: 'DELETE',
      params: { userId }
    })
  },
  
  /**
   * 清空购物车
   * @param {Number} userId - 用户ID
   */
  clearCart(userId) {
    return request({
      url: '/api/cart/clear',
      method: 'DELETE',
      params: { userId }
    })
  },
  
  /**
   * 获取购物车商品数量
   * @param {Number} userId - 用户ID
   */
  getCartCount(userId) {
    return request({
      url: '/api/cart/count',
      method: 'GET',
      params: { userId }
    })
  }
}